查看原文
其他

Hacker专用密码生成器—crunch常见命令使用详解

2017-07-14 Yale 合天智汇

点击“合天智汇”关注,学习网安干货

1

前言


我们渗透测试过程中常常会遇到需要爆破的情况,这时候我们手中的字典就非常重要了,字典的编排、产生将直接影响我们爆破的效率,对我们整个渗透流程起着至关重要的作用。


But,泥萌以为字典这么好制作吗,too young too simple

我们通过搜索引擎查找字典生成器,可以看到各式各样、五花八门的软件,然而本质都是流氓!!!



看看他们符合流氓的特征:1.不小心就下了全家桶2.页面充斥着广告3.部分杀软会报警,很有可能有后门什么的4.部分软件要收费……


基于此,在这儿,小表弟给大家安利一款良心大杀器---Crunch。

(另:文末有小彩蛋哦,记得点击阅读原文!)



2

介绍


Crunch是什么?

Crunch普遍用于生成密码字典,配合其他工具使用进行暴力破解。作为kali linux下前十名最常使用的工具之一,用途非常广泛。


如果你想对crunch 有更深层次的了解,建议您去官方网站上进行咨询。(网址:http://sourceforge.net/projects/crunch-wordlist


字典是什么?

此处所说的字典特指信息安全领域中在需要爆破情况下用到的一种文件,式包括但不限于txt,也可以是dict等。字典中包含了我们爆破时需要尝试的所有的口令的集合,如果目标的正确口令不在我们的爆破字典中,将会爆破失败。因为字典的创建与选择对于爆破成功与否至关重要。



3

说明


Crunchkali自带工具之一本实践指南在kali环境下进行,文中提及的所有命令均可以在kali下直接运行。



4

crunch中使用到的命令参数等


首先介绍crunch中使用到的命令参数、特殊字符等,然后通过一系列生成字典的实例来帮助大家理解crunch生成字典的步骤、思想,为大家在以后需要爆破时生成字典打下坚实的基础。


Crunch中的特殊字符有:

'%' 插入数字

'@' 插入小写字母

',' 插入大写字母

'^' 插入符号


Crunch中用到的命令参数有:

-b              #按大小分割字典文件,比如后跟20mib 

-c              #密码个数(行数),比如8000 

-d              #限制出现相同元素的个数(至少出现元素个数),-d 3就不会出现aabbbb之类的情况 

-e              #定义停止生成密码 ,比如-e abcd:到abcd停止生成密码 

-f               #调用密码库文件,比如-f charset.lst mixalpha-numeric  意为调用密码库 charset.lst中的 mixalpha-numeric项目字符 

-i                #改变输出格式 

-l                #与-t搭配使用 

-m              #与-p搭配使用 

-o               #保存为 

-p               #定义密码元素 

-q               #读取字典 

-r               #定义从某一个地方重新开始 

-s               #第一个密码,从xxx开始 

-t               #定义输出格式  

-z              #打包压缩,格式支持 gzip, bzip2, lzma, 7z


一下子介绍了这么多参数和特殊字符大家可能还无法理解,接下来我们通过进一步的运用进行理解和应用


5

应用案例


实例一:

在kali终端下输入crunch 1 8 >> 1.txt

意思是生成最小1位,最大8位,由26个小写字母为元素的所有组合 ,将生成的内容导出为1.txt



我们在上图可以看到将要生成的字典文件大小有1855787mb,受限于实验环境的限制,我们这里不再让它继续生成,我们按下ctrl+c来终止生成字典的过程


实例二:

在kali终端下输入crunch 1 4 abcd >> 2.txt

意思是生成 最小为1,最大为4.由abcd为元素的所有组合 ,并把结果导出为2.txt



我们使用cat命令,输入cat 2.txt打开生成的字典看看字典内容,如下所示



实例三:

输入crunch 4 5 -p yale test

意思是crunch将生成以“yale”“test”为元素的所有密码组合



实例四:

输入crunch 1 4 -o START -c 6000 

意思是生成最小为1位,最大为4位元素为所有小写字母的密码字典,前6000个密码,并预估所需时间



实例五:

输入cd /usr/share/crunch进入crunch文件夹下

输入ls查看密码库文件

并用cat charset.lst查看该文件内容



在进入crunch的安装目录下面后我们可以看到里面有一个charset.lst文件,里面定义了一些名词 用于简写用于制作字典的字符 如:

numeric 表示0123456789

Lalpha表示26位小写字母

Ualpha表示26为大写字母

这次我们将会使用到密码库文件,charset.lst在kali_linux的/usr/share/crunch/charset.lst, charset.lst中 mixalpha -numeri-symbol14项目包含常见的元素组合(即大小写字母+数字+常见字符)(即下图红色划线的部分)



们输入crunch 1 4 -f charset.lst mixalpha-numeric-symbol14 >> 3.txt 

意思是调用密码库 charset.lst, 生成最小为1,最大为4,元素为密码库 charset.lst中 mixalpha-numeric-symbol14的项目,并保存为 3.txt;其中



同样,还是输入cat 3.txt查看生成的内容



实例六:

接下来我们尝试将特殊字符及密码库文件组合起来生成字典:

输入crunch 7 7 -f charset.lst mixalpha-numeric-symbol14 >>4.txt -t @yale@@ -s ayaleaa 

意思是调用密码库 charset.lst,生成7位密码;其中元素为 密码库 charset.lst中 mixalpha-numeric-symbol14的项;格式为“1个小写字母+yale+2个小写字母”,并以ayaleaa开始枚举(@代表小写字母) 



输入cat 4.txt查看内容



实例七:

输入crunch 4  4 abcd + 1234 @#!* -t ^^%@ 

意思是生成4位密码,其中格式为“字符+数字+字母”,这里字符范围为!@#* ,数字范围为 1 2 34 , 字母范围为a b c d



实例八:

有时候可能生成的字典的文件太大了,这时候我们就需要把它切分成几个文件,相应的例子如下:

输入crunch 3 4 -b 1mib -o START 

意思是生成最小为3位,最大为4位元素为所有小写字母的密码字典,并以1M进行分割;这时会生成3个文件:aaa-ldld.txt,  ldle-xbrc.txt,  ombqz-wcydt.txt, xbrd-zzzz.txt:其中前两个为1m,第三个不足1m(因为总共不到3M) 



生成的三个文件如下图黄色圈起来的所示



输入cat命令查看其中一个字典的内容




6

总结


本文首先介绍了crunch用到的参数及特殊字符,在实例一中实验了如何生成普通类型字典,任务二中演示了如何利用密码库文件及配合特殊字符生成字典,实验三实验了如何利用特殊字符生成字典及在字典文件容量过大的情况下使用切分的方法分成几个较小的字典。

本实验深入浅出地介绍了crunch的用法并演示了相关实例,希望大家能扎实掌握,并在以后需要字典的情况下能够得心应手地应用crunch帮助自己。



7

资源

Crunch官方网站及教程

网站: http://sourceforge.net/projects/crunch-wordlist


教程: http://www.hackingtutorials.org/general-tutorials/password-list-with-crunch/


看到这儿,表哥表姐们都想知道彩蛋是什么吧,嘿嘿,彩蛋就是全国弱口令top1000的字典啦。

分享链接如下:https://share.weiyun.com/7a606a7b418a640b39e1ba6aea00b4b6



别忘了投稿哟!!!

合天公众号开启原创投稿啦!!!

大家有好的技术原创文章。

欢迎投稿至邮箱:edu@heetian.com

合天会根据文章的时效、新颖、文笔、实用等多方面评判给予100元-500元不等的稿费哟。

有才能的你快来投稿吧!


 

   合天智汇

网址 : www.heetian.com

电话:4006-123-731

长按图片,据说只有颜值高的人才能识别哦→

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存